In many software systems, there are different ways to create and execute system and software tests in general, and automated tests in particular. There can be different and specific tests for different functions, programs, processes, or scenarios in a system. For example, there can be common, pre-delivered tests for commonly executed transactions. There can also be tests for graphical user interfaces, and tests for application program interfaces. These different testing scenarios can use internal and external scripts.